
#ifndef __TREE_H__
#define __TREE_H__


typedef 
struct s_tr_node 
{
	struct s_tr_node *father;
	struct s_tr_node *left;
	struct s_tr_node *right;
	struct s_tr_node *sub;
	struct s_tr_node *next;
	struct s_tr_node *back;
	struct s_tr_node *loop;
	
	char *key;
	unsigned char is_inside_loop_node;
	unsigned char is_outside_loop_node;
	unsigned char is_sub_bnf;
	unsigned char is_token;
	unsigned char is_in_syntax_tree;
}
tr_node;

tr_node* insert_tree_left(tr_node *root, char *key);
tr_node* insert_tree_right(tr_node *root, char *key);
tr_node* insert_tree_sub(tr_node *root, char *key);


#endif /* __TREE_H__ */

